package com.csw.scala
import scala.collection.mutable
import scala.collection.mutable.HashMap
object Demo17Map {
  def main(args: Array[String]): Unit = {
    /**
      * map: kv格式
      */
    val map = Map(("001","zs"),("002","ls"),"003" -> "ww")

    println(map)

    //通过key获取alue
    println(map("001"))//如果key不存在报错
    println(map.get("003"))//如果key不存在返回None
    println(map.getOrElse("005","csw"))//如果key不存在则返回默认值

    //判断key是否存在
    println(map.contains("002"))

    //过滤values为zs的kv
    val map1 = map.filter((kv:(String,String)) => kv._2.equals("zs"))
    println(map1)

    //取出所有的key
    println(map.keys)
    //取出所有的values
    println(map.values)

    /**
      * 可变map
      *
      */
    val hashMap = new mutable.HashMap[String,String]()

    //增加元素
    hashMap.+=(("006","csw"))
    //简写
    hashMap += "007" ->   "csw1"
    println(hashMap)

    //删除元素
    hashMap.-=("006")
    println(hashMap)
    //删除元素
    hashMap.remove("007")
    println(hashMap)

  }
}
